home *** CD-ROM | disk | FTP | other *** search
/ HPAVC / HPAVC CD-ROM.iso / JR-WUI1.ZIP / SCUM-WUI.PPE (.txt) < prev    next >
PCBoard Programming Language Executable  |  1994-09-11  |  7KB  |  542 lines

  1. ;------------------------------------------------------------------------------
  2. ;                                                   .ss.
  3. ;                                                   `²²'
  4. ;             .,sS$Ss,,s$  .,sS$$$Ss.  .,sS$Ss,,s$ .ss.  .sSs.
  5. ;           .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
  6. ;           $$$'   .$$$' $$$²Sçsµ²' .$$$'   .$$$'.$$$' .$$$'  `$$b.
  7. ;           $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$'    ;$$$
  8. ;           `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
  9. ;                                    .sS²°$$$²²°"'       d²°'
  10. ;                                  .$$²  .$$'
  11. ;                                  $$$.,d$$'
  12. ;                                  `²S$$S²'
  13. ;------------------------------------------------------------------------------
  14. ; P.P.L.X. 2.OO                          (C)1996 - Lone Runner / AEGiS CoRP'96 
  15. ;------------------------------------------------------------------------------
  16. ; PPE 2.OO (plain) - Analysis ON - Postprocessing ON
  17. ;------------------------------------------------------------------------------
  18.  
  19.     Integer  TINTEGER002(2)
  20.     Integer  TINTEGER003(2)
  21.     Integer  INTEGER004
  22.     Integer  INTEGER005
  23.     Integer  INTEGER006
  24.     Integer  INTEGER007
  25.     Integer  INTEGER008
  26.     Integer  INTEGER009
  27.     Integer  INTEGER010
  28.     Integer  INTEGER011
  29.     String   TSTRING006(10)
  30.     String   STRING007
  31.     String   STRING008
  32.     String   STRING009
  33.     String   TSTRING010(3)
  34.     String   STRING011
  35.     String   STRING012
  36.  
  37. ;------------------------------------------------------------------------------
  38.  
  39.     If (AnsiOn() == 0) Then
  40.         Print "@X07@CLS@"
  41.         PrintLn "WRiTE-USER-iNFO v1.o does not do a single thing without ANSI !"
  42.         Newline
  43.         End
  44.     Endif
  45.     STRING009 = PPEPath() + "SCUM-WUI.CFG"
  46.     TSTRING006(1) = " GROUP/AFFiL.       "
  47.     TSTRING006(2) = " PASSWORD           "
  48.     TSTRING006(3) = " DATA NUMBER        "
  49.     TSTRING006(4) = " VOiCE NUMBER       "
  50.     TSTRING006(5) = " EXPERT MODE TOGGLE "
  51.     TSTRING006(6) = " PAGE LENGTH        "
  52.     TSTRING006(7) = " DEFAULT PROTOCOL   "
  53.     TSTRING006(8) = " CLEAR SCREEN       "
  54.     TSTRING006(9) = " FULL SCREEN EDITOR "
  55.     TSTRING006(10) = " EXiT PROGRAM       "
  56.     TINTEGER002(1) = 7
  57.     TINTEGER003(1) = 4
  58.     INTEGER004 = 10
  59.     TSTRING010(1) = "@X07"
  60.     TSTRING010(2) = "@X1F"
  61.     TSTRING010(3) = "@X09"
  62.     INTEGER005 = 1
  63.     Gosub LABEL023
  64.     StartDisp 1
  65.     DispFile PPEPath() + "SCUM-WUI.PCB", 0
  66.     GetUser
  67.     Gosub LABEL020
  68.     Gosub LABEL012
  69.     :LABEL001
  70.     Gosub LABEL013
  71.     If (STRING008 <> "SELECT") Then
  72.         Gosub LABEL011
  73.         If (STRING008 == Chr(27)) Then
  74.             PutUser
  75.             ResetDisp
  76.             Print "@X07@CLS@"
  77.             Newline
  78.             Print "@X0F             @X09WRiTE@X01-@X09USER@X01-@X09iNFO @X01v@X091@X01.@X09o @X01- @X09Coded by@X01: @X09JoLLY RoGeR@X01/@X09SCuM '94@X07"
  79.             Newlines 2
  80.             End
  81.         Endif
  82.     Else
  83.         Gosub LABEL002
  84.     Endif
  85.     Goto LABEL001
  86.     ResetDisp
  87.     End
  88.     :LABEL002
  89.     If (INTEGER005 == 1) Then
  90.         INTEGER008 = 30
  91.         INTEGER009 = 4
  92.         INTEGER010 = 24
  93.         INTEGER011 = 1
  94.         STRING012 = U_City
  95.         STRING007 = ""
  96.         Gosub LABEL021
  97.         Gosub LABEL022
  98.         If (STRING007 == "") Then
  99.             U_City = STRING012
  100.             Goto LABEL003
  101.         Endif
  102.         U_City = STRING007
  103.         :LABEL003
  104.         PutUser
  105.     Endif
  106.     If (INTEGER005 == 2) Then
  107.         INTEGER008 = 30
  108.         INTEGER009 = 5
  109.         INTEGER010 = 12
  110.         INTEGER011 = 3
  111.         STRING012 = U_Pwd
  112.         STRING007 = ""
  113.         Gosub LABEL021
  114.         Gosub LABEL022
  115.         If (STRING007 == "") Then
  116.             U_Pwd = STRING012
  117.             Goto LABEL004
  118.         Endif
  119.         U_Pwd = STRING007
  120.         :LABEL004
  121.         PutUser
  122.     Endif
  123.     If (INTEGER005 == 3) Then
  124.         INTEGER008 = 30
  125.         INTEGER009 = 6
  126.         INTEGER010 = 13
  127.         INTEGER011 = 2
  128.         STRING012 = U_BDPhone
  129.         STRING007 = ""
  130.         Gosub LABEL021
  131.         Gosub LABEL022
  132.         If (STRING007 == "") Then
  133.             U_BDPhone = STRING012
  134.             Goto LABEL005
  135.         Endif
  136.         U_BDPhone = STRING007
  137.         :LABEL005
  138.         PutUser
  139.     Endif
  140.     If (INTEGER005 == 4) Then
  141.         INTEGER008 = 30
  142.         INTEGER009 = 7
  143.         INTEGER010 = 13
  144.         INTEGER011 = 2
  145.         STRING012 = U_HVPhone
  146.         STRING007 = ""
  147.         Gosub LABEL021
  148.         Gosub LABEL022
  149.         If (STRING007 == "") Then
  150.             U_HVPhone = STRING012
  151.             Goto LABEL006
  152.         Endif
  153.         U_HVPhone = STRING007
  154.         :LABEL006
  155.         PutUser
  156.     Endif
  157.     If (INTEGER005 == 5) Then
  158.         INTEGER008 = 30
  159.         INTEGER009 = 8
  160.         If (U_Expert == 1) Then
  161.             STRING007 = "OFF"
  162.             U_Expert = 0
  163.             Goto LABEL007
  164.         Endif
  165.         STRING007 = "ON "
  166.         U_Expert = 1
  167.         :LABEL007
  168.         Gosub LABEL022
  169.         PutUser
  170.     Endif
  171.     If (INTEGER005 == 6) Then
  172.         INTEGER008 = 30
  173.         INTEGER009 = 9
  174.         INTEGER010 = 2
  175.         INTEGER011 = 2
  176.         STRING012 = U_PageLen
  177.         STRING007 = ""
  178.         Gosub LABEL021
  179.         Gosub LABEL022
  180.         If (STRING007 == "") Then
  181.             U_PageLen = STRING012
  182.             Goto LABEL008
  183.         Endif
  184.         U_PageLen = STRING007
  185.         :LABEL008
  186.         PutUser
  187.     Endif
  188.     If (INTEGER005 == 7) Then
  189.         INTEGER008 = 30
  190.         INTEGER009 = 10
  191.         INTEGER010 = 1
  192.         INTEGER011 = 5
  193.         STRING012 = U_Trans
  194.         STRING007 = ""
  195.         Gosub LABEL021
  196.         Gosub LABEL022
  197.         If (STRING007 == "") Then
  198.             U_Trans = STRING012
  199.             Goto LABEL009
  200.         Endif
  201.         U_Trans = STRING007
  202.         :LABEL009
  203.         PutUser
  204.     Endif
  205.     If (INTEGER005 == 8) Then
  206.         INTEGER008 = 30
  207.         INTEGER009 = 11
  208.         INTEGER010 = 2
  209.         INTEGER011 = 2
  210.         STRING012 = U_PageLen
  211.         STRING007 = ""
  212.         If (U_Cls == 1) Then
  213.             STRING007 = "NO "
  214.             U_Cls = 0
  215.             Goto LABEL010
  216.         Endif
  217.         STRING007 = "YES"
  218.         U_Cls = 1
  219.         :LABEL010
  220.         Gosub LABEL022
  221.         PutUser
  222.     Endif
  223.     If (INTEGER005 == 9) Then
  224.         INTEGER008 = 30
  225.         INTEGER009 = 12
  226.         If ((U_FSE == 1) && (U_FSEP == 0)) Then
  227.             STRING007 = "ASK"
  228.             U_FSE = 0
  229.             U_FSEP = 1
  230.             Gosub LABEL022
  231.             PutUser
  232.             Return
  233.         Endif
  234.         If ((U_FSE == 0) && (U_FSEP == 0)) Then
  235.             STRING007 = "YES"
  236.             U_FSE = 1
  237.             U_FSEP = 0
  238.             Gosub LABEL022
  239.             PutUser
  240.             Return
  241.         Endif
  242.         If ((U_FSE == 0) && (U_FSEP == 1)) Then
  243.             STRING007 = "NO "
  244.             U_FSE = 0
  245.             U_FSEP = 0
  246.             Gosub LABEL022
  247.             PutUser
  248.             Return
  249.         Endif
  250.     Endif
  251.     If (INTEGER005 == 10) Then
  252.         PutUser
  253.         ResetDisp
  254.         Print "@X07@CLS@"
  255.         Newline
  256.         Print "@X0F             @X09WRiTE@X01-@X09USER@X01-@X09iNFO @X01v@X091@X01.@X09o @X01- @X09Coded by@X01: @X09JoLLY RoGeR@X01/@X09SCuM '94@X07"
  257.         Newlines 2
  258.         End
  259.     Endif
  260.     Return
  261.     :LABEL011
  262.     AnsiPos TINTEGER002(1), TINTEGER003(1) + INTEGER006 - 1
  263.     Print TSTRING010(1) + TSTRING006(INTEGER006)
  264.     AnsiPos TINTEGER002(1), TINTEGER003(1) + INTEGER005 - 1
  265.     Print TSTRING010(2) + TSTRING006(INTEGER005)
  266.     AnsiPos TINTEGER002(1), TINTEGER003(1) + INTEGER005 - 1
  267.     Return
  268.     :LABEL012
  269.     For INTEGER007 = 1 To INTEGER004
  270.         AnsiPos TINTEGER002(1), TINTEGER003(1) + INTEGER007 - 1
  271.         If (INTEGER005 == INTEGER007) Then
  272.             Print TSTRING010(2) + TSTRING006(INTEGER007)
  273.             Continue
  274.         Endif
  275.         Print TSTRING010(1) + TSTRING006(INTEGER007)
  276.     Next
  277.     AnsiPos TINTEGER002(1), TINTEGER003(1) + INTEGER005 - 1
  278.     Return
  279.     :LABEL013
  280.     STRING007 = ""
  281.     STRING008 = ""
  282.     KbdFlush
  283.     While (STRING007 == "") Do
  284.         STRING007 = Inkey()
  285.     EndWhile
  286.     If (Left(STRING007, 2) == "UP") Then
  287.         If (INTEGER005 > 1) Then
  288.             INTEGER006 = INTEGER005
  289.             INTEGER005 = INTEGER006 - 1
  290.             STRING008 = "UP"
  291.             Goto LABEL014
  292.         Endif
  293.         INTEGER006 = INTEGER005
  294.         INTEGER005 = INTEGER004
  295.     Endif
  296.     :LABEL014
  297.     If (Left(STRING007, 4) == "HOME") Then
  298.         If (INTEGER005 > 1) Then
  299.             INTEGER006 = INTEGER005
  300.             INTEGER005 = 1
  301.             STRING008 = "UP"
  302.         Endif
  303.     Endif
  304.     If (Left(STRING007, 4) == "LEFT") Then
  305.         If (INTEGER005 > 1) Then
  306.             INTEGER006 = INTEGER005
  307.             INTEGER005 = INTEGER006 - 1
  308.             STRING008 = "UP"
  309.             Goto LABEL015
  310.         Endif
  311.         INTEGER006 = INTEGER005
  312.         INTEGER005 = INTEGER004
  313.     Endif
  314.     :LABEL015
  315.     If (Upper(STRING007) == "A") Then
  316.         If (INTEGER005 > 1) Then
  317.             INTEGER006 = INTEGER005
  318.             INTEGER005 = INTEGER006 - 1
  319.             STRING008 = "UP"
  320.             Goto LABEL016
  321.         Endif
  322.         INTEGER006 = INTEGER005
  323.         INTEGER005 = INTEGER004
  324.     Endif
  325.     :LABEL016
  326.     If (Left(STRING007, 4) == "DOWN") Then
  327.         If (INTEGER005 < INTEGER004) Then
  328.             INTEGER006 = INTEGER005
  329.             INTEGER005 = INTEGER006 + 1
  330.             STRING008 = "DOWN"
  331.             Goto LABEL017
  332.         Endif
  333.         INTEGER006 = INTEGER005
  334.         INTEGER005 = 1
  335.     Endif
  336.     :LABEL017
  337.     If (Left(STRING007, 3) == "END") Then
  338.         If (INTEGER005 < INTEGER004) Then
  339.             INTEGER006 = INTEGER005
  340.             INTEGER005 = INTEGER004
  341.             STRING008 = "DOWN"
  342.         Endif
  343.     Endif
  344.     If (Left(STRING007, 5) == "RIGHT") Then
  345.         If (INTEGER005 < INTEGER004) Then
  346.             INTEGER006 = INTEGER005
  347.             INTEGER005 = INTEGER006 + 1
  348.             STRING008 = "DOWN"
  349.             Goto LABEL018
  350.         Endif
  351.         INTEGER006 = INTEGER005
  352.         INTEGER005 = 1
  353.     Endif
  354.     :LABEL018
  355.     If (Upper(STRING007) == "Z") Then
  356.         If (INTEGER005 < INTEGER004) Then
  357.             INTEGER006 = INTEGER005
  358.             INTEGER005 = INTEGER006 + 1
  359.             STRING008 = "DOWN"
  360.             Goto LABEL019
  361.         Endif
  362.         INTEGER006 = INTEGER005
  363.         INTEGER005 = 1
  364.     Endif
  365.     :LABEL019
  366.     If (STRING007 == Chr(13)) Then
  367.         STRING008 = "SELECT"
  368.     Endif
  369.     If (Left(STRING007, 5) == "ENTER") Then
  370.         STRING008 = "SELECT"
  371.     Endif
  372.     If (Left(STRING007, 6) == "RETURN") Then
  373.         STRING008 = "SELECT"
  374.     Endif
  375.     If (STRING008 == "") Then
  376.         STRING008 = STRING007
  377.     Endif
  378.     Return
  379.     :LABEL020
  380.     AnsiPos 30, 4
  381.     Print TSTRING010(3) + U_City
  382.     AnsiPos 30, 5
  383.     Print TSTRING010(3) + U_Pwd
  384.     AnsiPos 30, 6
  385.     Print TSTRING010(3) + U_BDPhone
  386.     AnsiPos 30, 7
  387.     Print TSTRING010(3) + U_HVPhone
  388.     AnsiPos 30, 8
  389.     If (U_Expert == 1) Then
  390.         Print TSTRING010(3) + "ON "
  391.     Else
  392.         Print TSTRING010(3) + "OFF"
  393.     Endif
  394.     AnsiPos 30, 9
  395.     Print TSTRING010(3) + U_PageLen
  396.     AnsiPos 30, 10
  397.     Print TSTRING010(3) + U_Trans
  398.     AnsiPos 30, 11
  399.     If (U_Cls == 1) Then
  400.         Print TSTRING010(3) + "YES"
  401.     Else
  402.         Print TSTRING010(3) + "NO "
  403.     Endif
  404.     If ((U_FSE == 1) && (U_FSEP == 0)) Then
  405.         STRING011 = "YES"
  406.     Endif
  407.     If ((U_FSE == 0) && (U_FSEP == 0)) Then
  408.         STRING011 = "NO "
  409.     Endif
  410.     If ((U_FSE == 0) && (U_FSEP == 1)) Then
  411.         STRING011 = "ASK"
  412.     Endif
  413.     AnsiPos 30, 12
  414.     Print TSTRING010(3) + STRING011
  415.     Return
  416.     :LABEL021
  417.     AnsiPos INTEGER008, INTEGER009
  418.     Print "@X07" + Space(INTEGER010 + 2)
  419.     AnsiPos INTEGER008, INTEGER009
  420.     If (INTEGER011 == 1) Then
  421.         InputStr "_", STRING007, "@X0F", INTEGER010, Mask_Ascii(), 0
  422.     Endif
  423.     If (INTEGER011 == 2) Then
  424.         InputStr "_", STRING007, "@X0F", INTEGER010, Mask_Num() + ".-", 0
  425.     Endif
  426.     If (INTEGER011 == 3) Then
  427.         InputStr "_", STRING007, "@X0F", INTEGER010, Mask_Pwd(), 0 + 8
  428.     Endif
  429.     If (INTEGER011 == 4) Then
  430.         InputStr "_", STRING007, "@X0F", INTEGER010, Mask_Num(), 0
  431.     Endif
  432.     If (INTEGER011 == 5) Then
  433.         InputStr "_", STRING007, "@X0F", INTEGER010, Mask_Ascii(), 8
  434.     Endif
  435.     Return
  436.     :LABEL022
  437.     AnsiPos INTEGER008, INTEGER009
  438.     If (STRING007 == "") Then
  439.         Print TSTRING010(3) + STRING012
  440.     Else
  441.         Print TSTRING010(3) + STRING007
  442.     Endif
  443.     AnsiPos TINTEGER002(1), TINTEGER003(1) + INTEGER005 - 1
  444.     Return
  445.     :LABEL023
  446.     If (Exist(STRING009) == 0) Then
  447.         Print "@X07@CLS@"
  448.         Newline
  449.         PrintLn "@X0FHmm, no config file, using default!@X07"
  450.         Newline
  451.         Wait
  452.         Newline
  453.         Return
  454.     Endif
  455.     TINTEGER002(1) = ReadLine(STRING009, 1)
  456.     TINTEGER003(1) = ReadLine(STRING009, 2)
  457.     TSTRING010(1) = ReadLine(STRING009, 3)
  458.     TSTRING010(2) = ReadLine(STRING009, 4)
  459.     TSTRING010(3) = ReadLine(STRING009, 5)
  460.     Return
  461.     STRING011 = "■■■ A JoLLY RoGeR PPE - SCuM '94 PPE Division ■■■"
  462.  
  463. ;------------------------------------------------------------------------------
  464. ;
  465. ; Usage report (before postprocessing)
  466. ;
  467. ; ■ Statements used :
  468. ;
  469. ;    4       End
  470. ;    1       Wait
  471. ;    81      Goto 
  472. ;    147     Let 
  473. ;    24      Print 
  474. ;    2       PrintLn 
  475. ;    59      If 
  476. ;    1       DispFile 
  477. ;    3       ResetDisp
  478. ;    1       StartDisp 
  479. ;    1       GetUser
  480. ;    13      PutUser
  481. ;    5       InputStr 
  482. ;    23      Gosub 
  483. ;    12      Return
  484. ;    6       Newline
  485. ;    2       Newlines 
  486. ;    18      AnsiPos 
  487. ;    1       KbdFlush
  488. ;
  489. ;
  490. ; ■ Functions used :
  491. ;
  492. ;    33      +
  493. ;    9       -
  494. ;    55      ==
  495. ;    1       <>
  496. ;    5       <
  497. ;    1       <=
  498. ;    4       >
  499. ;    2       >=
  500. ;    59      !
  501. ;    8       &&
  502. ;    1       ||
  503. ;    2       Upper()
  504. ;    8       Left()
  505. ;    1       Space()
  506. ;    2       Chr()
  507. ;    1       Inkey()
  508. ;    1       Mask_Pwd()
  509. ;    2       Mask_Num()
  510. ;    2       Mask_Ascii()
  511. ;    2       PPEPath()
  512. ;    5       ReadLine()
  513. ;    1       Exist()
  514. ;    1       AnsiOn()
  515. ;
  516. ;------------------------------------------------------------------------------
  517. ;
  518. ; Analysis flags : WH
  519. ;
  520. ; W - Write user ■ 5
  521. ;     Program writes a user record. Although this may be normal for a
  522. ;     User Editor, it may also be a way to modify an account level.
  523. ;     ■ Search for : PUTUSER
  524. ;
  525. ; H - Read Password or Password History ■ 5
  526. ;     Program is reading the user's password or last password history
  527. ;     This may be ok for a password manager, but it is very suspect. Check!
  528. ;     ■ Search for : U_PWDHIST, U_PWD
  529. ;
  530. ;------------------------------------------------------------------------------
  531. ;
  532. ; Postprocessing report
  533. ;
  534. ;    1       For/Next
  535. ;    1       While/EndWhile
  536. ;    57      If/Then or If/Then/Else
  537. ;    0       Select Case
  538. ;
  539. ;------------------------------------------------------------------------------
  540. ;                 AEGiS Corp - Break the routines, code against the machines!
  541. ;------------------------------------------------------------------------------
  542.